
/* ********************************************************************************************************************
 *  COPYRIGHT
 *  -------------------------------------------------------------------------------------------------------------------
 *  \verbatim
 *  Copyright (c) 2018 by Vector Informatik GmbH.                                                  All rights reserved.
 *
 *                This software is copyright protected and proprietary to Vector Informatik GmbH.
 *                Vector Informatik GmbH grants to you only those rights as set out in the license conditions.
 *                All other rights remain with Vector Informatik GmbH.
 *  \endverbatim
 *  -------------------------------------------------------------------------------------------------------------------
 *  FILE DESCRIPTION
 *  -------------------------------------------------------------------------------------------------------------------
 *         File:  Dem_Cdd_Types.h
 *      Project:  MICROSAR Diagnostic Event Manager (Dem)
 *       Module:  -
 *    Generator:  -
 *
 *  Description:  Replacement header for types generated by the Rte. This file is only required in case no
 *                Rte is used.
 *
 *********************************************************************************************************************/
/*!
 *  \addtogroup   Dem_Ungrouped
 *  \{
 *********************************************************************************************************************/

/* ********************************************************************************************************************
 *  AUTHOR IDENTITY
 *  -------------------------------------------------------------------------------------------------------------------
 *  Name                          Initials      Company
 *  -------------------------------------------------------------------------------------------------------------------
 *  Savas Ates                    vissat        Vector Informatik GmbH
 *  Anna Bosch                    visanh        Vector Informatik GmbH
 *  Stefan Huebner                vishrs        Vector Informatik GmbH
 *  Thomas Dedler                 visdth        Vector Informatik GmbH
 *  Alexander Ditte               visade        Vector Informatik GmbH
 *  Matthias Heil                 vismhe        Vector Informatik GmbH
 *  Erik Jeglorz                  visejz        Vector Informatik GmbH
 *  Friederike Hitzler            visfrs        Vector Informatik GmbH
 *  Aswin Vijayamohanan Nair      visavi        Vector Informatik GmbH
 *  Fabian Wild                   viszfa        Vector Informatik GmbH
 *  -------------------------------------------------------------------------------------------------------------------
 *  REVISION HISTORY
 *  -------------------------------------------------------------------------------------------------------------------
 *  Version   Date        Author  Change Id     Description
 *  -------------------------------------------------------------------------------------------------------------------
 *  REFER TO DEM.H
 *********************************************************************************************************************/

#if !defined (DEM_CDD_TYPES_H)                                                                                                   /* COV_MSR_HEADERGUARD TX */
#define DEM_CDD_TYPES_H

/* ********************************************************************************************************************
 * INCLUDES
 *********************************************************************************************************************/


/* ********************************************************************************************************************
 *  GLOBAL CONSTANT MACROS
 *********************************************************************************************************************/


/* ********************************************************************************************************************
 *  GLOBAL FUNCTION MACROS
 *********************************************************************************************************************/


/* ********************************************************************************************************************
 *  GLOBAL DATA TYPES AND STRUCTURES
 *********************************************************************************************************************/
#if !defined (Rte_TypeDef_Dem_EventIdType)                                                                                       /* COV_DEM_RTE_TYPEDEFS TX */
typedef uint16                                   Dem_EventIdType;              /*!< Type for DemEventParmeter handles */
#endif
#if !defined (Rte_TypeDef_Dem_DTCStatusMaskType)                                                                                 /* COV_DEM_RTE_TYPEDEFS TX */
typedef uint8                                    Dem_DTCStatusMaskType;        /*!< Type for DTC Status in DTC status changed notifications */
#endif

#if !defined (Rte_TypeDef_Dem_MonitorStatusType)                                                                                 /* COV_DEM_RTE_TYPEDEFS TX */
typedef uint8                                    Dem_MonitorStatusType;        /*!< Type for monitor status */
#endif
#if !defined (DEM_MONITOR_STATUS_TF)                                                                                             /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_MONITOR_STATUS_TF                   (0x01U)                       /*!< Monitor status: last qualified result */
#endif
#if !defined (DEM_MONITOR_STATUS_TNCTOC)                                                                                         /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_MONITOR_STATUS_TNCTOC               (0x02U)                       /*!< Monitor status: qualified result this operation cycle */
#endif

#if !defined (Rte_TypeDef_Dem_EventStatusType)                                                                                   /* COV_DEM_RTE_TYPEDEFS TX */
typedef uint8                                    Dem_EventStatusType;          /*!< Type for monitor status reports */
#endif
#if !defined (DEM_EVENT_STATUS_PASSED)                                                                                           /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_EVENT_STATUS_PASSED                 (0x00U)                       /*!< Monitor status report: qualified passed */
#endif
#if !defined (DEM_EVENT_STATUS_FAILED)                                                                                           /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_EVENT_STATUS_FAILED                 (0x01U)                       /*!< Monitor status report: qualified failed */
#endif
#if !defined (DEM_EVENT_STATUS_PREPASSED)                                                                                        /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_EVENT_STATUS_PREPASSED              (0x02U)                       /*!< Monitor status report: test passed, debouncing required */
#endif
#if !defined (DEM_EVENT_STATUS_PREFAILED)                                                                                        /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_EVENT_STATUS_PREFAILED              (0x03U)                       /*!< Monitor status report: test failed, debouncing required */
#endif
#if !defined (DEM_EVENT_STATUS_FDC_THRESHOLD_REACHED)                                                                            /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_EVENT_STATUS_FDC_THRESHOLD_REACHED                   (0x04U)      /*!< Not supported */
#endif
#if !defined (DEM_EVENT_STATUS_PASSED_CONDITIONS_NOT_FULFILLED)                                                                  /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_EVENT_STATUS_PASSED_CONDITIONS_NOT_FULFILLED         (0x05U)      /*!< Monitor status report: qualified passed, similar conditions not fulfilled */
#endif
#if !defined (DEM_EVENT_STATUS_FAILED_CONDITIONS_NOT_FULFILLED)                                                                  /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_EVENT_STATUS_FAILED_CONDITIONS_NOT_FULFILLED         (0x06U)      /*!< Monitor status report: qualified failed, similar conditions not fulfilled */
#endif
#if !defined (DEM_EVENT_STATUS_PREPASSED_CONDITIONS_NOT_FULFILLED)                                                               /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_EVENT_STATUS_PREPASSED_CONDITIONS_NOT_FULFILLED      (0x07U)      /*!< Monitor status report: test passed, debouncing required, similar conditions not fulfilled */
#endif
#if !defined (DEM_EVENT_STATUS_PREFAILED_CONDITIONS_NOT_FULFILLED)                                                               /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_EVENT_STATUS_PREFAILED_CONDITIONS_NOT_FULFILLED      (0x08U)      /*!< Monitor status report: test failed, debouncing required, similar conditions not fulfilled */
#endif

#if !defined (Rte_TypeDef_Dem_DebouncingStateType)                                                                               /* COV_DEM_RTE_TYPEDEFS TX */
typedef uint8                                    Dem_DebouncingStateType;      /*!< Type for monitor debouncing status */
#endif
#if !defined (DEM_TEMPORARILY_DEFECTIVE)                                                                                         /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_TEMPORARILY_DEFECTIVE               (0x01U)                       /*!< debouncing not completed, the monitor is currently failing */
#endif
#if !defined (DEM_FINALLY_DEFECTIVE)                                                                                             /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_FINALLY_DEFECTIVE                   (0x02U)                       /*!< debouncing completed, the monitor has reported a failed result */
#endif
#if !defined (DEM_TEMPORARILY_HEALED)                                                                                            /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_TEMPORARILY_HEALED                  (0x04U)                       /*!< debouncing not completed, the monitor is currently passing */
#endif
#if !defined (DEM_TEST_COMPLETE)                                                                                                 /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_TEST_COMPLETE                       (0x08U)                       /*!< debouncing completed */
#endif
#if !defined (DEM_DTR_UPDATE)                                                                                                    /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_DTR_UPDATE                          (0x10U)                       /*!< DTR update conditions are met */
#endif

#if !defined (Rte_TypeDef_Dem_DebounceResetStatusType)                                                                           /* COV_DEM_RTE_TYPEDEFS TX */
typedef uint8                                    Dem_DebounceResetStatusType;  /*!< Type for monitor debounce status requests */
#endif
#if !defined (DEM_DEBOUNCE_STATUS_FREEZE)                                                                                        /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_DEBOUNCE_STATUS_FREEZE              (0x00U)                       /*!< Monitor status request: pause debouncing */
#endif
#if !defined (DEM_DEBOUNCE_STATUS_RESET)                                                                                         /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_DEBOUNCE_STATUS_RESET               (0x01U)                       /*!< Monitor status request: reset debouncing */
#endif

#if !defined (Rte_TypeDef_Dem_UdsStatusByteType)                                                                                 /* COV_DEM_RTE_TYPEDEFS TX */
typedef uint8                                    Dem_UdsStatusByteType;        /*!< Type for event/DTC UDS status */
#endif
#if !defined (DEM_UDS_STATUS_TF)                                                                                                 /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_UDS_STATUS_TF                       (0x01U)                       /*!< UDS status bitmask: TestFailed */
#endif
#if !defined (DEM_UDS_STATUS_TFTOC)                                                                                              /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_UDS_STATUS_TFTOC                    (0x02U)                       /*!< UDS status bitmask: TestFailedThisOperatingCycle */
#endif
#if !defined (DEM_UDS_STATUS_PDTC)                                                                                               /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_UDS_STATUS_PDTC                     (0x04U)                       /*!< UDS status bitmask: PendingDTC */
#endif
#if !defined (DEM_UDS_STATUS_CDTC)                                                                                               /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_UDS_STATUS_CDTC                     (0x08U)                       /*!< UDS status bitmask: ConfirmedDTC */
#endif
#if !defined (DEM_UDS_STATUS_TNCSLC)                                                                                             /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_UDS_STATUS_TNCSLC                   (0x10U)                       /*!< UDS status bitmask: TestNotCompletedSinceLastClear */
#endif
#if !defined (DEM_UDS_STATUS_TFSLC)                                                                                              /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_UDS_STATUS_TFSLC                    (0x20U)                       /*!< UDS status bitmask: TestFailedSinceLastClear */
#endif
#if !defined (DEM_UDS_STATUS_TNCTOC)                                                                                             /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_UDS_STATUS_TNCTOC                   (0x40U)                       /*!< UDS status bitmask: TestNotCompletedThisOperatingCycle */
#endif
#if !defined (DEM_UDS_STATUS_WIR)                                                                                                /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_UDS_STATUS_WIR                      (0x80U)                       /*!< UDS status bitmask: WarningIndicatorRequested */
#endif

#if !defined (Rte_TypeDef_Dem_DTCSeverityType)                                                                                   /* COV_DEM_RTE_TYPEDEFS TX */
typedef uint8                                    Dem_DTCSeverityType;          /*!< Type for DTC severity */
#endif
#if !defined (DEM_SEVERITY_NO_SEVERITY)                                                                                          /* COV_DEM_RTE_TYPEDEFS TX */
#define DEM_SEVERITY_NO_SEVERITY                 (0x00U)                       /*!< DTC does not have severity information */
#endif
#if !defined (DEM_SEVERITY_WWHOBD_CLASS_NO_CLASS)                                                                                /* COV_DEM_RTE_TYPEDEFS TX */
#define DEM_SEVERITY_WWHOBD_CLASS_NO_CLASS       (0x01U)                       /*!< DTC does not have WWH-OBD relevance */
#endif
#if !defined (DEM_SEVERITY_WWHOBD_CLASS_A)                                                                                       /* COV_DEM_RTE_TYPEDEFS TX */
#define DEM_SEVERITY_WWHOBD_CLASS_A              (0x02U)                       /*!< DTC belongs to WWH-OBD class A */
#endif
#if !defined (DEM_SEVERITY_WWHOBD_CLASS_B1)                                                                                      /* COV_DEM_RTE_TYPEDEFS TX */
#define DEM_SEVERITY_WWHOBD_CLASS_B1             (0x04U)                       /*!< DTC belongs to WWH-OBD class B1 */
#endif
#if !defined (DEM_SEVERITY_WWHOBD_CLASS_B2)                                                                                      /* COV_DEM_RTE_TYPEDEFS TX */
#define DEM_SEVERITY_WWHOBD_CLASS_B2             (0x08U)                       /*!< DTC belongs to WWH-OBD class B2 */
#endif
#if !defined (DEM_SEVERITY_WWHOBD_CLASS_C)                                                                                       /* COV_DEM_RTE_TYPEDEFS TX */
#define DEM_SEVERITY_WWHOBD_CLASS_C              (0x10U)                       /*!< DTC belongs to WWH-OBD class C */
#endif
#if !defined (DEM_SEVERITY_MAINTENANCE_ONLY)                                                                                     /* COV_DEM_RTE_TYPEDEFS TX */
#define DEM_SEVERITY_MAINTENANCE_ONLY            (0x20U)                       /*!< DTC has severity 'maintenance only' */
#endif
#if !defined (DEM_SEVERITY_CHECK_AT_NEXT_HALT)                                                                                   /* COV_DEM_RTE_TYPEDEFS TX */
#define DEM_SEVERITY_CHECK_AT_NEXT_HALT          (0x40U)                       /*!< DTC has severity 'check at next halt' */
#endif
#if !defined (DEM_SEVERITY_CHECK_IMMEDIATELY)                                                                                    /* COV_DEM_RTE_TYPEDEFS TX */
#define DEM_SEVERITY_CHECK_IMMEDIATELY           (0x80U)                       /*!< DTC has severity 'check immediately' */
#endif

#if !defined (Rte_TypeDef_Dem_OperationCycleStateType)                                                                           /* COV_DEM_RTE_TYPEDEFS TX */
typedef uint8                                    Dem_OperationCycleStateType;  /*!< Type for operating cycle status reports */
#endif
#if !defined (DEM_CYCLE_STATE_START)                                                                                             /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_CYCLE_STATE_START                   (0x00U)                       /*!< Operating cycle: (Re)start cycle */
#endif
#if !defined (DEM_CYCLE_STATE_END)                                                                                               /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_CYCLE_STATE_END                     (0x01U)                       /*!< Operating cycle: Stop cycle */
#endif

#if !defined (Rte_TypeDef_Dem_IndicatorStatusType)                                                                               /* COV_DEM_RTE_TYPEDEFS TX */
typedef uint8                                    Dem_IndicatorStatusType;      /*!< Type for warning indicator status */
#endif
#if !defined (DEM_INDICATOR_OFF)                                                                                                 /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_INDICATOR_OFF                       (0x00U)                       /*!< Warning Indicator: Not requested */
#endif
#if !defined (DEM_INDICATOR_CONTINUOUS)                                                                                          /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_INDICATOR_CONTINUOUS                (0x01U)                       /*!< Warning Indicator: Requested continuous activation */
#endif
#if !defined (DEM_INDICATOR_BLINKING)                                                                                            /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_INDICATOR_BLINKING                  (0x02U)                       /*!< Warning Indicator: Requested blinking activation */
#endif
#if !defined (DEM_INDICATOR_BLINK_CONT)                                                                                          /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_INDICATOR_BLINK_CONT                (0x03U)                       /*!< Warning Indicator: Requested continuous and blinking activation */
#endif
#if !defined (DEM_INDICATOR_SLOW_FLASH)                                                                                          /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_INDICATOR_SLOW_FLASH                (0x04U)                       /*!< Warning Indicator: Requested slow flash activation */
#endif
#if !defined (DEM_INDICATOR_FAST_FLASH)                                                                                          /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_INDICATOR_FAST_FLASH                (0x05U)                       /*!< Warning Indicator: Requested fast flash activation */
#endif
#if !defined (DEM_INDICATOR_ON_DEMAND)                                                                                           /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_INDICATOR_ON_DEMAND                 (0x06U)                       /*!< Warning Indicator: Requested on-demand activation */
#endif
#if !defined (DEM_INDICATOR_SHORT)                                                                                               /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_INDICATOR_SHORT                     (0x07U)                       /*!< Warning Indicator: Requested short MIL activation */
#endif

#if !defined (Rte_TypeDef_Dem_DTCGroupType)                                                                                      /* COV_DEM_RTE_TYPEDEFS TX */
typedef uint32                                   Dem_DTCGroupType;             /*!< Type for DTC group numbers */
#endif

#if !defined (Rte_TypeDef_Dem_DTCFormatType)                                                                                     /* COV_DEM_RTE_TYPEDEFS TX */
typedef uint8                                    Dem_DTCFormatType;            /*!< Type for DTC format identifier */
#endif
#if !defined (DEM_DTC_FORMAT_OBD)                                                                                                /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_DTC_FORMAT_OBD                      (0x00U)                       /*!< DTC format: OBD DTC number */
#endif
#if !defined (DEM_DTC_FORMAT_UDS)                                                                                                /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_DTC_FORMAT_UDS                      (0x01U)                       /*!< DTC format: UDS DTC number */
#endif
#if !defined (DEM_DTC_FORMAT_J1939)                                                                                              /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_DTC_FORMAT_J1939                    (0x02U)                       /*!< DTC format: J1939 DTC number */
#endif

#if !defined (Rte_TypeDef_Dem_DTCKindType)                                                                                       /* COV_DEM_RTE_TYPEDEFS TX */
typedef uint8                                    Dem_DTCKindType;              /*!< Type for DTC kind identifier */
#endif
#if !defined (DEM_DTC_KIND_ALL_DTCS)                                                                                             /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_DTC_KIND_ALL_DTCS                   (0x01U)                       /*!< DTC kind: ALL DTCs */
#endif
#if !defined (DEM_DTC_KIND_EMISSION_REL_DTCS)                                                                                    /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_DTC_KIND_EMISSION_REL_DTCS          (0x02U)                       /*!< DTC kind: Only emission related DTCs */
#endif

#if !defined (Rte_TypeDef_Dem_DTCOriginType)                                                                                     /* COV_DEM_RTE_TYPEDEFS TX */
typedef uint16                                   Dem_DTCOriginType;            /*!< Type for event memory identifier */
#endif
#if !defined (DEM_DTC_ORIGIN_PRIMARY_MEMORY)                                                                                     /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_DTC_ORIGIN_PRIMARY_MEMORY           (0x01U)                       /*!< Event memory: Primary memory */
#endif
#if !defined (DEM_DTC_ORIGIN_MIRROR_MEMORY)                                                                                      /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_DTC_ORIGIN_MIRROR_MEMORY            (0x02U)                       /*!< Event memory: Mirror memory */
#endif
#if !defined (DEM_DTC_ORIGIN_PERMANENT_MEMORY)                                                                                   /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_DTC_ORIGIN_PERMANENT_MEMORY         (0x03U)                       /*!< Event memory: Permanent DTCs */
#endif
#if !defined (DEM_DTC_ORIGIN_OBD_RELEVANT_MEMORY)                                                                                /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_DTC_ORIGIN_OBD_RELEVANT_MEMORY      (0x04U)                       /*!< Event memory: OBD DTC relevant memory */
#endif
#if !defined (DEM_DTC_ORIGIN_SECONDARY_MEMORY)                                                                                   /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_DTC_ORIGIN_SECONDARY_MEMORY         (0x05U)                       /*!< Event memory: Secondary memory */
#endif

#if !defined (Rte_TypeDef_Dem_InitMonitorReasonType)                                                                             /* COV_DEM_RTE_TYPEDEFS TX */
typedef uint8                                    Dem_InitMonitorReasonType;    /*!< Type for init monitor notification reason */
#endif
#if !defined (DEM_INIT_MONITOR_CLEAR)                                                                                            /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_INIT_MONITOR_CLEAR                  (0x01U)                       /*!< Monitor initialization reason: DTC cleared */
#endif
#if !defined (DEM_INIT_MONITOR_RESTART)                                                                                          /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_INIT_MONITOR_RESTART                (0x02U)                       /*!< Monitor initialization reason: Operating cycle restart */
#endif
#if !defined (DEM_INIT_MONITOR_REENABLED)                                                                                        /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_INIT_MONITOR_REENABLED              (0x03U)                       /*!< Monitor initialization reason: Enable conditions re-enabled */
#endif

#if !defined (Rte_TypeDef_Dem_RatioIdType)                                                                                       /* COV_DEM_RTE_TYPEDEFS TX */
typedef uint16                                   Dem_RatioIdType;              /*!< Type for Ratio handles. Directly corresponds to Dem_EventIdType. */
#endif

#if !defined (Rte_TypeDef_Dem_IumprDenomCondStatusType)                                                                          /* COV_DEM_RTE_TYPEDEFS TX */
typedef uint8 Dem_IumprDenomCondStatusType;                                    /*!< Type for Denominator condition status reports */
#endif
#if !defined (DEM_IUMPR_DEN_STATUS_NOT_REACHED)                                                                                  /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_DEN_STATUS_NOT_REACHED (0x00U)                              /*!< Denominator condition status: Conditions not reached */
#endif
#if !defined (DEM_IUMPR_DEN_STATUS_REACHED)                                                                                      /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_DEN_STATUS_REACHED     (0x01U)                              /*!< Denominator condition status: Conditions reached */
#endif
#if !defined (DEM_IUMPR_DEN_STATUS_INHIBITED)                                                                                    /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_DEN_STATUS_INHIBITED   (0x02U)                              /*!< Denominator condition status: Inhibited */
#endif

#if !defined (Rte_TypeDef_Dem_IumprDenomCondIdType)                                                                              /* COV_DEM_RTE_TYPEDEFS TX */
typedef uint8 Dem_IumprDenomCondIdType;                                        /*!< Type for Denominator conditions */
#endif
#if !defined (DEM_IUMPR_GENERAL_DENOMINATOR)                                                                                     /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_GENERAL_DENOMINATOR  (0x01U)                                /*!< General denominator conditions */
#endif
#if !defined (DEM_IUMPR_DEN_COND_COLDSTART)                                                                                      /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_DEN_COND_COLDSTART   (0x02U)                                /*!< cold-start denominator conditions */
#endif
#if !defined (DEM_IUMPR_DEN_COND_EVAP)                                                                                           /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_DEN_COND_EVAP        (0x03U)                                /*!< evaporator denominator conditions */
#endif
#if !defined (DEM_IUMPR_DEN_COND_500MI)                                                                                          /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_DEN_COND_500MI       (0x04U)                                /*!< 500 mile denominator conditions */
#endif

#if !defined (Rte_TypeDef_Dem_IumprReadinessGroupType)                                                                           /* COV_DEM_RTE_TYPEDEFS TX */
typedef uint8 Dem_IumprReadinessGroupType;
#endif
#if !defined (DEM_IUMPR_BOOSTPRS)                                                                                                /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_BOOSTPRS             (0x00U)
#endif
#if !defined (DEM_IUMPR_CAT1)                                                                                                    /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_CAT1                 (0x01U)
#endif
#if !defined (DEM_IUMPR_CAT2)                                                                                                    /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_CAT2                 (0x02U)
#endif
#if !defined (DEM_IUMPR_EGR)                                                                                                     /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_EGR                  (0x03U)
#endif
#if !defined (DEM_IUMPR_EGSENSOR)                                                                                                /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_EGSENSOR             (0x04U)
#endif
#if !defined (DEM_IUMPR_EVAP)                                                                                                    /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_EVAP                 (0x05U)
#endif
#if !defined (DEM_IUMPR_NMHCCAT)                                                                                                 /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_NMHCCAT              (0x06U)
#endif
#if !defined (DEM_IUMPR_NOXADSORB)                                                                                               /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_NOXADSORB            (0x07U)
#endif
#if !defined (DEM_IUMPR_NOXCAT)                                                                                                  /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_NOXCAT               (0x08U)
#endif
#if !defined (DEM_IUMPR_OXS1)                                                                                                    /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_OXS1                 (0x09U)
#endif
#if !defined (DEM_IUMPR_OXS2)                                                                                                    /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_OXS2                 (0x0aU)
#endif
#if !defined (DEM_IUMPR_PMFILTER)                                                                                                /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_PMFILTER             (0x0bU)
#endif
#if !defined (DEM_IUMPR_PRIVATE)                                                                                                 /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_PRIVATE              (0x0cU)
#endif
#if !defined (DEM_IUMPR_SAIR)                                                                                                    /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_SAIR                 (0x0dU)
#endif
#if !defined (DEM_IUMPR_SECOXS1)                                                                                                 /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_SECOXS1              (0x0eU)
#endif
#if !defined (DEM_IUMPR_SECOXS2)                                                                                                 /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_SECOXS2              (0x0fU)
#endif
#if !defined (DEM_IUMPR_FLSYS)                                                                                                   /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_FLSYS                (0x10U)
#endif
#if !defined (DEM_IUMPR_AFRI1)                                                                                                   /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_AFRI1                (0x11U)
#endif
#if !defined (DEM_IUMPR_AFRI2)                                                                                                   /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_AFRI2                (0x12U)
#endif
#if !defined (DEM_IUMPR_PF1)                                                                                                     /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_PF1                  (0x13U)
#endif
#if !defined (DEM_IUMPR_PF2)                                                                                                     /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_PF2                  (0x14U)
#endif
#if !defined (DEM_IUMPR_ALLGROUPS)                                                                                               /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_IUMPR_ALLGROUPS            (0xffU)
#endif

#if !defined (Rte_TypeDef_Dem_DTRControlType)                                                                                    /* COV_DEM_RTE_TYPEDEFS TX */
typedef uint8 Dem_DTRControlType;
#endif
#if !defined (DEM_DTR_CTL_NORMAL)                                                                                                /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_DTR_CTL_NORMAL           (0x00U)
#endif
#if !defined (DEM_DTR_CTL_NO_MAX)                                                                                                /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_DTR_CTL_NO_MAX           (0x01U)
#endif
#if !defined (DEM_DTR_CTL_NO_MIN)                                                                                                /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_DTR_CTL_NO_MIN           (0x02U)
#endif
#if !defined (DEM_DTR_CTL_RESET)                                                                                                 /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_DTR_CTL_RESET            (0x03U)
#endif
#if !defined (DEM_DTR_CTL_INVISIBLE)                                                                                             /* COV_DEM_RTE_TYPEDEFS TX */
# define DEM_DTR_CTL_INVISIBLE        (0x04U)
#endif

/* ********************************************************************************************************************
 *  GLOBAL DATA PROTOTYPES
 *********************************************************************************************************************/


/* ********************************************************************************************************************
 *  GLOBAL FUNCTION PROTOTYPES
 *********************************************************************************************************************/

/* ****************************************************************************
 * Appl_Dem_GeneralCBDataEvt_EventDataChanged
 *****************************************************************************/
/*!
 * \brief         Global event data change notification
 *
 * \details       Notification that the stored data of an event has changed.
 *
 * \param[in]     EventId
 *                Unique handle of the Event.
 *
 * \return        The return value is ignored
 *
 * \pre           -
 *
 * \context       TASK|ISR2
 * \synchronous   TRUE
 * \reentrant     TRUE
 *****************************************************************************/
extern FUNC(Std_ReturnType, DEM_APPL_CODE) Appl_Dem_GeneralCBDataEvt_EventDataChanged(
  Dem_EventIdType EventId
  );

/* ****************************************************************************
 * Appl_Dem_GeneralCBStatusEvt_GeneralCallbackEventUdsStatusChanged
 *****************************************************************************/
/*!
 * \brief         Global event status change notification
 *
 * \details       Notification that the UDS status of an event has changed.
 * \note          Since the event status can change concurrently, the status
 *                values passed by this function are not necessarily correct.
 *
 * \param[in]     EventId
 *                Unique handle of the Event.
 * \param[in]     EventUdsStatusOld
 *                UDS status before the status change
 * \param[in]     EventUdsStatusNew
 *                UDS status after the status change
 *
 * \return        The return value is ignored
 *
 * \pre           -
 *
 * \context       TASK|ISR2
 * \synchronous   TRUE
 * \reentrant     TRUE
 *****************************************************************************/
extern FUNC(Std_ReturnType, DEM_APPL_CODE) Appl_Dem_GeneralCBStatusEvt_GeneralCallbackEventUdsStatusChanged(
  Dem_EventIdType EventId,
  Dem_UdsStatusByteType EventUdsStatusOld,
  Dem_UdsStatusByteType EventUdsStatusNew
  );

/* ****************************************************************************
 * Appl_Dem_CBControlDTCSetting_ControlDTCSettingChanged
 *****************************************************************************/
/*!
 * \brief         Control DTC Status changed notification
 *
 * \details       Notification that ControlDTCSetting was activated or deactivated.
 *                ControlDTCSetting is controlled by Dcm (UDS service 0x85).
 *
 * \param[in]     Status
 *                TRUE:  ControlDTCSetting is active
 *                FALSE: ControlDTCSetting is inactive
 *
 * \return        The return value is ignored
 *
 * \pre           -
 *
 * \context       TASK|ISR2
 * \synchronous   TRUE
 * \reentrant     TRUE
 *****************************************************************************/
extern FUNC(Std_ReturnType, DEM_APPL_CODE) Appl_Dem_CBControlDTCSetting_ControlDTCSettingChanged(
  boolean Status
  );


/*!
 * \}
 */
#endif  /* DEM_CDD_TYPES_H */

/* ********************************************************************************************************************
 *  END OF FILE: Dem_Cdd_Types.h
 *********************************************************************************************************************/
